package com.tiancheng.trade.authserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tiancheng.trade.authserver.dto.ApplicationAddUpdateDTO;
import com.tiancheng.trade.authserver.dto.ApplicationListDTO;
import com.tiancheng.trade.authserver.entity.AuthApplication;
import com.tiancheng.trade.authserver.enums.ThirdPlatformEnums;
import com.tiancheng.trade.authserver.model.query.ApplicationBaseInfoUpdateParam;
import com.tiancheng.trade.authserver.model.query.ApplicationQuery;
import com.tiancheng.trade.authserver.model.reponse.ApplicationBaseInfo;
import com.tiancheng.trade.commom.core.data.PageInfo;

/**
 * @Author: likailun
 * @Description: 应用管理 service
 * @Date: create in 2024/10/22 09:21
 */
public interface IAuthApplicationService extends IService<AuthApplication> {
    /**
     * 根据分类和clientId获取第三方应用
     */
    AuthApplication getByTypeAndClientId(ThirdPlatformEnums type, String clientId);

    PageInfo<ApplicationListDTO> queryPage(ApplicationQuery param);

    Long saveByDTO(ApplicationAddUpdateDTO param);

    void updateBaseInfo(ApplicationBaseInfoUpdateParam param);

    ApplicationBaseInfo getBaseInfo(String id);

    void delete(String id);
    Long getThisApplicationId();
    AuthApplication getByProjectName(String projectName);

}
